<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Менеджер отчётов</title>
    <link href="../css/manual.css" rel="stylesheet" type="text/css">
    <script src="../js/toc.js"></script>
    <script src='../js/jquery.min.js'></script>
    <script src="../js/back_to_top.js"></script>
</head>
<body onload="generateTOC(document.getElementById('toc'));">
    <header>
        <nav><small><a id="go_home" href="../index.html?lang=ru_RU">Перейти на главную страницу справки</a></small></nav>

        <a href="#" id="back-to-top"><img src="../img/backtotop.png" alt="Наверх" /></a>
        <!--Smooth Back to Top Button End-->

        <h1>Менеджер отчётов</h1>
    </header>

    <!-- ToC generated by Javascript -->
    <nav id="toc"></nav>

    <h2>Открытие менеджера отчетов</h2>
    <p>
        Вызовите менеджер отчетов (<abbr>GRM</abbr>) или используйте главное меню
        <kbd><samp>Инструменты</samp> &rarr; <samp>Менеджер отчетов&hellip;</samp>
        </kbd>.
    </p>
    <img class="shadow" alt="Панель GRM" src="../en_GB/grm_toolbar.png">

    <h2>Создание нового отчета</h2>
    <p>Есть 2 варианта.</p>

    <h3>Создание отчёта с нуля</h3>
    <ol>
        <li>Используя дерево навигации, щелкните правой кнопкой мыши на раздел <kbd><samp>Отчёты</samp></kbd>.</li>
        <li>Выберите пункт меню: <kbd><samp>Новый пустой отчет</samp></kbd>.</li>
        <li>Введите имя группы отчетов и новое имя самого отчёта.</li>
        <li>Переименуйте отчёты, если необходимо, правой кнопкой мыши по пункту меню: <kbd><samp>Переименовать отчет</samp></kbd>.</li>
        <li>Будет показано три вкладки: Вывод, SQL, Lua, Шаблон и Описание.</li>
        <li>
            Выберите вкладку: SQL, вставьте скрипт SQL в окно редактора,
            проверьте, что скрипт SQL завершается точкой с запятой, затем нажмите
            кнопку <kbd><samp>Сохранить</samp></kbd>.
        </li>
        <li>Нажмите на кнопку <kbd><samp>Тест</samp></kbd> для выполнения скрипта SQL.</li>
        <li>Если тест пройден <kbd><samp>Создать шаблон</samp></kbd> станет доступной. Нажмите на него, чтобы создать шаблон html для отчета.</li>
        <li>Нажмите на кнопку <kbd><samp>Выполнить</samp></kbd> чтобы получить HTML отчет в окне вывода.</li>
    </ol>
    <img class="shadow" alt="Создание нового отчета"
    src="../en_GB/grm.gif">

    <h4>Параметры отчёта</h4>
    <p>
        Для mmex версии 1.4.0 есть возможность передачи дат в SQL скрипт отчета.
        Есть четыре варианта: <var>&single_date</var>, <var>&begin_date</var>, <var>&end_date</var>, <var>&budget_years</var>.
        В случае если SQL содержит один из вышеуказанных параметров, он будет заменен значением из виджета.
        Например, этот SQL скрипт возвращает все балансы счетов на указанную дату:
    </p>
<pre><code class="language-sql">with b as  (
    select ACCOUNTID, STATUS
        , (case when TRANSCODE = 'Deposit' then TRANSAMOUNT else -TRANSAMOUNT end) as TRANSAMOUNT
        , TRANSDATE
    from CHECKINGACCOUNT
    union all
    select TOACCOUNTID, STATUS, TOTRANSAMOUNT ,TRANSDATE
    from CHECKINGACCOUNT
    where TRANSCODE = 'Transfer'
    )
select a.ACCOUNTNAME,
total(TRANSAMOUNT) + a.INITIALBAL as Balance
from ACCOUNTLIST as a, b
where a.STATUS = 'Open'
    and b.ACCOUNTID = a.ACCOUNTID
    and b.STATUS &lt;&gt; 'V'
    and b.TRANSDATE &lt;= '<var>&single_date</var>'
group by a.ACCOUNTNAME order by a.ACCOUNTNAME asc;
</code></pre>
    <img class="shadow" alt="Вывод отчета GRM с параметром даты пример" src="../en_GB/grm_custom_date.png">

    <h3>Импорт отчёта</h3>
    <p>
        Есть много отчетов, представленных пользователями или разработчиками на
        <a href="https://github.com/moneymanagerex/general-reports/releases" target="_blank">github</a>
    </p>

    <h2>Экспорт отчета</h2>
    <p>
        Если вы создали полезный отчет, он может быть экспортирован в zip-файл.
    </p>

    <footer><p><small>
        Copyright &copy; 2005-2009 Madhan Kanagavel<br>
        Copyright &copy; 2013-2019 MMEX contributors<br>
        <span id="translator">Перевод: Николай Акимов</span>
    </small></p></footer>
    <script>
        var LANG = document.getElementsByTagName('html')[0].getAttribute('lang');
        var tr = document.getElementById("translator");
        if (LANG == 'en')
            tr.parentNode.removeChild(tr);
    </script>

</body>
</html>
